package com.cn.wanxi.servlet;

import com.cn.wanxi.model.CompanyModel;
import com.cn.wanxi.model.NavModel;
import com.cn.wanxi.model.NewsModel;
import com.cn.wanxi.service.CompanyService;
import com.cn.wanxi.service.NavService;
import com.cn.wanxi.service.NewsService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 前后台怎么找到？怎么一一对应？
 * 所有访问页面的方式必须通过后台访问
 */
@WebServlet("/home")
public class HomeServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//乱码问题
        req.setCharacterEncoding("UTF-8");
        resp.setCharacterEncoding("UTF-8");
//        得到数据

        /**
         * servlet的生命周期？
         * servlet的四大作用域?
         * doget和dopost的区别？
         * 页面转发和重定向的区别？
         * 在Java里面 面向对象编程？
         * 每个对象里面只做自己的事情
         * 对象包括属性和方法
         * 方法可以有很多个，所以每个方法也应该只做一件事情
         */
//        req.setAttribute("logo","../img/logo_g0yv.jpg");
//        req.setAttribute("phone", phone);//第一个参数表示地址：key值-用于页面取值，第二个参数表示值，
        //得到公司信息
//        CompanyService companyService = new CompanyService();
//        CompanyModel companyModel = companyService.getCompanyModel();
//        req.setAttribute("companyModel", companyModel);
//        页面转发：将数据转发到当前的页面
//        对于导航是很多相同的对象数据组合而成
        /**
         * 数组：里面每个元素相同
         * 数组的定义：静态定义，动态定义
         *动态定义：NavModel[] navModels = new NavModel[6];必须给定长度
         */
//导航
//        NavService navService = new NavService();
//        NavModel[] navModels = navService.getNavModels();
//        req.setAttribute("navModels", navModels);
        CommonServlet.setCompanyAndNavData(req);
//        新闻
        NewsService newsService = new NewsService();
        NewsModel[] newsModels = newsService.getNewsModelsForHomePage();
        req.setAttribute("newsModels", newsModels);
        req.getRequestDispatcher("/jsp/home.jsp").forward(req, resp);
//        重定向
//        resp.sendRedirect("/jsp/home.jsp");
    }
}
